<?php


include('includes/configuration_include.php');
/*
 * URL-REWRITING : TRAITEMENT DES REQUETES GET ET POST dz
 */

/* Le passage des param�tres dans un lien ce fait comme ceci :
 *
 * 		'http://localhost/getyourevents/ma_page/param1-value1-param2-value2..'
 *
 * 'ma_page' est stock� dans $_GET['page']
 *
 * 'param1-value1-param2-va..' est stock� dans $_GET['param']
 *
 * Cette partie du code sert � mettre les couples param1/value1,
 * param2/value2...dans $_GET et $_POST de fa�on � avoir :
 * 
 * 	$GET['param1']= value1;		$POST['param1']= value1;
 * 	$GET['param2']= value2;		$POST['param2']= value2;
 * 	...
 * 
 * On peut choisir d'avoir des nom de param�tres dans les $GET et $_POST
 * diff�rents de ceux affich�s dans l'URL.
 * 
 * Par exemple on peut voir dans le module 'connection' que pour se d�connecter
 * il faut avoir : $_GET['log_out']== 1 .
 * 
 * Or je trouve qu'�crire 'accueil/log_out-1' n'est pas tr�s esth�tique.
 * 
 * Donc pour �viter d'�tre obliger de rentrer le vrai nom de param�tre dans
 * l'url j'ai un tableau o� on peut rentrer des noms de param�tres personalis�s.
 * 
 * Pour l'exemple de la d�connexion avec le module 'connection' on aura juste � mettre :
 * 
 * 		$customParameters['deconnexion']= 'log_out'.
 * 
 * Et quand l'utilisateur cliquera sur 'accueil/deconnexion-1' on aura bien $_GET['log_out']=1.
 * 
 */


/*
 * CHARGE LA BONNE PAGE SI CERTAINS ONT DES 'POST' DANS LEUR MODULE
 * 
 * Dans tous les formulaires des modules utilisant la m�thode POST du protocole HTTP
 * Il faudra ajouter un champ cach� avec dedans le nom de votre module.
 * Par exemple le formulaire du module d'inscription devra ressembler � ceci :
 * 
 * 	<form...method="POST">
 * 		...
 * 		<input type="hidden" name="module_name" value="quick_registration">
 * 		...
 * 	</form>
 */

// Tableau pour les noms de param�tres personnalis�s
$customParameters = array(
    'deconnexion' => 'log_out'
    , 'categorie' => 'category'
);

if (!empty($_GET['param'])) {
    // 'Eclate' la chaine $_GET['param'] au niveau des caract�res '-' pour en faire un tableau
    $parameters = explode('-', $_GET['param']);

    // Charge les couples nom_de_parametre/valeur dans $_GET
    for ($i = 0; $i < count($parameters); $i++) {
        // Si pour une raison X ou Y le param�tre est vide
        if (empty($parameters[$i]))
            continue;

        // Si il s'agit bien un couple nom_de_parametre/valeur
        if (!empty($parameters[$i + 1])) {
            $parameterName = $parameters[$i];
            $parameterValue = $parameters[$i + 1];

            if (empty($customParameters[$parameterName]))
                $_GET[$parameterName] = $parameterValue;

            else
                $_GET[$customParameters[$parameterName]] = $parameterValue;

            $i++;
        }
        // Sinon on assigne la valeur par d�fault 0 au param�tre
        else
            $_GET[$parameters[$i]] = 0;
    }

    // M�me chose pour la variable superglobale $_POST
    for ($i = 0; $i < count($parameters); $i++) {
        // Si pour une raison X ou Y le param�tre est vide
        if (empty($parameters[$i]))
            continue;

        // Si il s'agit bien un couple nom_de_parametre/valeur
        if (!empty($parameters[$i + 1])) {
            $parameterName = $parameters[$i];
            $parameterValue = $parameters[$i + 1];

            if (empty($customParameters[$parameterName]))
                $_POST[$parameterName] = $parameterValue;

            else
                $_POST[$customParameters[$parameterName]] = $parameterValue;

            $i++;
        }
        // Sinon on assigne la valeur par d�faut 0 au param�tre
        else
            $_POST[$parameters[$i]] = 0;
    }
}

/*
 * CHARGE LA BONNE PAGE SI CERTAINS ONT DES 'POST' DANS LEUR MODULE
 * 
 * Dans tous les formulaires des modules utilisant la m�thode POST du protocole HTTP
 * Il faudra ajouter un champ cach� avec dedans le nom de votre module.
 * Par exemple le formulaire du module d'inscription devra ressembler � ceci :
 * 
 * 	<form...method="POST">
 * 		...
 * 		<input type="hidden" name="module_name" value="quick_registration">
 * 		...
 * 	</form>
 */
if (!empty($_POST['module_name'])) {
    $_GET['page'] = $_POST['module_name'];
}

/*
 * GESTION DE LA DECONNEXION
 */
if (!empty($_GET['log_out']) && $_GET['log_out'] == 1) {
    // D�truit toutes les variables de session
    $_SESSION = array();
    header('location:' . URL_ROOT);
}


/* CHARGEMENT DES LANGUES */
$lang = '';
if (isset($_GET['lang']))
    $lang = $_GET['lang'];
else if (isset($_SESSION['lang']))
    $lang = $_SESSION['lang'];

switch ($lang) {
    case 'en':
        $path = PATH_EN;
        break;

    case 'fr':
        $path = PATH_FR;
        break;

    default:
        $lang = 'fr';
        $path = PATH_FR;
        break;
}

if (isset($_GET['lang']))
    $_SESSION['lang'] = $lang;

$lang_files = scandir($path);

for ($i = 2; $i < count($lang_files); $i++)
    include( $path . $lang_files[$i]);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
        <!-- Head -->
<?php include( PATH_INCLUDES . 'head_include.php'); ?>
    </head>
    <body onResize="loadOnResize()">
        <div id="container">

            <!-- Header -->
<?php include( PATH_INCLUDES . 'header_include.php'); ?>

            <!-- Contenu -->
            <div id="content">
<?php
if (!empty($_GET['page'])) {
    switch ($_GET['page']) {
        case "home":
            page_home();
            break;

        case "lecteur":
            page_lecteur();
            break;

        case "archives":
            page_archives();
            break;

        case "admin":
            page_admin();
            break;
        
        case "user-view":
            page_user_view();
            break;
        
        case "playlist-view":
            page_view_playlist();
            break;
        
        case "create-playlist":
            page_create_playlist();
            break;
        case "create-admin":
            page_create_admin();
            break;
        
        case "research":
            page_research();
            break;

        case "time-room":
            page_time_room();
            break;
        
        case "cube-view":
            page_update_cube();
            break;

        default:
            page_home();
            break;
    }
}
else
    page_home();
?>
            </div>
            <!-- Footer -->
                <?php include( PATH_INCLUDES . 'footer_include.php'); ?>

        </div>

    </body>
</html>

<?php
/*
 * FONCTIONS POUR L'AFFICHAGE DES PAGES
 */

function page_home() {
   echo '    <link rel="stylesheet" type="text/css" href="' . URL_CSS . 'archives.css">
        <script type="text/javascript" src="' . URL_JS . 'init_page.js"></script>

       <link rel="stylesheet" href="' . URL_CSS . 'sphere.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="' . URL_CSS . 'lecteur.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="' . URL_CSS . 'playlist.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="' . URL_CSS . 'display_playlist.css" type="text/css" media="screen" />

        <script type="text/javascript" src="jquery-1.3.1.min.js"></script>';
   echo' <div id="main">';
   include( PATH_CONTROLLERS . 'sphere_controller.php');
    echo '</div>';
   
    include( PATH_CONTROLLERS . 'archives_controller.php');
   
        include( PATH_CONTROLLERS . 'player_controller.php');

    echo '</div>';
    
}

function page_time_room() {
    echo '<link rel="stylesheet" href="' . URL_CSS . 'time_room.css" type="text/css" media="screen" />';
    include( PATH_CONTROLLERS . 'time_room_controller.php');
}

function page_lecteur() {
    echo '<link rel="stylesheet" href="' . URL_CSS . 'sphere.css" type="text/css" media="screen" />
			<link rel="stylesheet" href="' . URL_CSS . 'lecteur.css" type="text/css" media="screen" />
	 		<link rel="stylesheet" href="' . URL_CSS . 'playlist.css" type="text/css" media="screen" />';
    include( PATH_CONTROLLERS . 'lecteur_controller.php');
}

function page_archives() {
    echo '<link rel="stylesheet" type="text/css" href="' . URL_CSS . 'archives.css">';
                include( PATH_CONTROLLERS . 'archives_controller.php');
}

function page_admin() {
    echo '<link rel="stylesheet" type="text/css" href="' . URL_CSS . 'admin.css">';
                include( PATH_CONTROLLERS . 'admin_controller.php');
}

function page_create_playlist(){
    echo '<link rel="stylesheet" type="text/css" href="' . URL_CSS . 'create_playlist.css">';
		include( PATH_CONTROLLERS.'create_playlist_controller.php');
                
	}
        
function page_create_admin(){
    echo '<link rel="stylesheet" type="text/css" href="' . URL_CSS . 'create_admin.css">';
		include( PATH_CONTROLLERS.'create_admin_controller.php');
                
	}
        
function page_view_playlist(){
    echo '<link rel="stylesheet" type="text/css" href="' . URL_CSS . 'view_playlist.css">';
		include( PATH_CONTROLLERS.'admin_playlist_controller.php');
                
	}
        
function page_user_view(){
    echo '<link rel="stylesheet" type="text/css" href="' . URL_CSS . 'user_view.css">';
		include( PATH_CONTROLLERS.'admin_user_controller.php');
                
	}
        
function page_update_cube(){
    
		include( PATH_CONTROLLERS.'update_cube_controller.php');
                
	}
?>